<!--
Google IO 2012/2013 HTML5 Slide Template

Authors: Eric Bidelman <ebidel@gmail.com>
         Luke Mahé <lukem@google.com>
         Ovidiu Mara <ovidiu.mara@epfl.ch>

URL: https://code.google.com/p/io-2013-slides
-->
<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="chrome=1">
  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">-->
  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0">-->
  <!--This one seems to work all the time, but really small on ipad-->
  <!--<meta name="viewport" content="initial-scale=0.4">-->
  <meta name="apple-mobile-web-app-capable" content="yes">
  <link rel="stylesheet" media="all" href="theme/css/default.css">
  <link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="theme/css/phone.css">
  <base target="_blank"> <!-- This amazingness opens all links in a new tab. -->
  <script data-main="js/slides" src="js/require-1.0.8.min.js"></script>
  <script type="text/x-mathjax-config">
  MathJax.Hub.Config({
  config: ["MMLorHTML.js"],
  jax: ["input/TeX", "input/MathML", "output/HTML-CSS", "output/NativeMML"],
  extensions: ["tex2jax.js","mml2jax.js","MathMenu.js","MathZoom.js"],
  tex2jax: {
    inlineMath: [ ["$", "$"] ],
    displayMath: [ ['$$', '$$'] ],
    processEscapes: true,
    processClass: "haslatex"
  },
  TeX: {
    extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
  },
  "HTML-CSS": {
   extensions: ["handle-floats.js"]
  },
  displayAlign: "left",
  styles: {
    ".MathJax_Display": {
    "text-align": "left"
    }
  }
  });
  </script>
  <!--<script type="text/javascript" src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>-->
  <script type="text/javascript" src="MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
  <style>
  .haslatex.block {
	  display: inline-block;
	  vertical-align: middle;
  }
  </style>
</head>
<body style="opacity: 0" class="maximized">

<slides class="layout-widescreen">

  <slide class="dark segue nobackground" hidden>
    <aside class="gdbar"><img src="images/epfl_logo_128.png"></aside>
    <!-- The content of this hgroup is replaced programmatically through the slide_config.json. -->
    <hgroup class="auto-fadein">
      <h1 data-config-title><!-- populated from slide_config.json --></h1>
      <h2 data-config-subtitle><!-- populated from slide_config.json --></h2>
      <p data-config-presenter><!-- populated from slide_config.json --></p>
    </hgroup>
  </slide>

  <slide class="dark nobackground">
    <hgroup>
      <h2>How to import Scons projects in QtCreator</h2>
    </hgroup>
    <article>
      <ul>
        <li>Navigate this slideshow with the arrow keys, PageUp/PageDown or the mouse wheel</li>
      </ul>
    </article>
  </slide>

  <slide class="dark nobackground">
    <hgroup>
      <h2>Install QtCreator 2.8.1</h2>
    </hgroup>
    <article>
      <ul>
        <li>The version supplied with Ubuntu 12.04 is old and buggy</li>
        <li>Download a new version from here:</li>
        <ul>
          <li><a href="http://download.qt-project.org/official_releases/qtcreator/2.8/2.8.1/">http://download.qt-project.org/official_releases/qtcreator/2.8/2.8.1/</a></li>
        </ul>
      </ul>
    </article>
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot1.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot2.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot3.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot4.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot5.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot6.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot7.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot8.png);">
  </slide>

  <slide class="dark nobackground">
    <hgroup>
      <h2>Start QtCreator</h2>
    </hgroup>
    <article>
      <ul>
        <li>Always run QtCreator with this command:</li>
        <ul>
          <li>~/qtcreator-2.8.1/bin/qtcreator.sh</li>
        </ul>
        <li>Otherwise the older, system version is started &mdash; debugging does not work in that one</li>
      </ul>
    </article>
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot9.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot10.png);">
  </slide>

  <slide class="dark nobackground">
    <hgroup>
      <h2>Start QtCreator</h2>
    </hgroup>
    <article>
      <ul>
        <li>Check that you started it correctly (the version must be 2.8.1)</li>
      </ul>
    </article>
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot11.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot12.png);">
  </slide>

  <slide class="dark nobackground">
    <hgroup>
      <h2>QtCreator settings</h2>
    </hgroup>
    <article>
      <ul>
        <li>We need to change a few settings</li>
        <ul>
          <li>Set the terminal to gnome-terminal</li>
        </ul>
      </ul>
    </article>
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot13.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot14.png);">
  </slide>

  <slide class="dark nobackground">
    <hgroup>
      <h2>Import Scons project</h2>
    </hgroup>
    <article>
      <ul>
        <li>Follow these steps</li>
      </ul>
    </article>
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot15.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot16.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot17.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot18.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot19.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot20.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot21.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot22.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot23.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot24.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot25.png);">
  </slide>

  <slide class="dark nobackground">
    <hgroup>
      <h2>Project settings</h2>
    </hgroup>
    <article>
      <ul>
        <li>We need to configure QtCreator to use Scons to build and clean the project</li>
      </ul>
    </article>
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot26.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot27.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot28.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot29.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot30.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot31.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot32.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot33.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot34.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot35.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot36.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot37.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot38.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot39.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot40.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot41.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot42.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot43.png);">
  </slide>

  <slide class="dark nobackground">
    <hgroup>
      <h2>Debugging instructions</h2>
    </hgroup>
    <article>
      <ul>
        <li>Debugging only works if we disable starting the program in a terminal</li>
        <li>Unfortunately, keyboard input in not available in this case</li>
      </ul>
    </article>
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot44.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot45.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot46.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot47.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot48.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot49.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot50.png);">
  </slide>

  <slide class="dark nobackground">
    <hgroup>
      <h2>Debugging instructions</h2>
    </hgroup>
    <article>
      <ul>
        <li>Creating a breakpoint</li>
        <ul>
          <li>Click the border at the left of a line number</li>
        </ul>
      </ul>
    </article>
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot51.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot52.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot53.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot54.png);">
  </slide>

  <slide class="dark nobackground">
    <hgroup>
      <h2>Debugging instructions</h2>
    </hgroup>
    <article>
      <ul>
        <li>No variables are shown when the program is paused</li>
        <ul>
          <li>This means that the Scons project is configured to use an incompatible debugging format</li>
          <li>We can fix this</li>
          <ul>
            <li>Set the build flags to -g -g3 -gdwarf-2</li>
            <li>Rebuild and start debugging again</li>
          </ul>
        </ul>
      </ul>
    </article>
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot55.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot56.png);">
  </slide>

  <slide class="fullimage nobackground" style="background-image: url(qtcreator-setup/snapshot57.png);">
  </slide>

  <slide class="dark segue-slide nobackground">
    <article class="flexbox vcenter">
      <span>The end.</span>
    </article>
  </slide>

</slides>

<!--[if IE]>
  <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
  <script>CFInstall.check({mode: 'overlay'});</script>
<![endif]-->
</body>
</html>
